package com.carSys.Mapper;

import com.carSys.Entity.RepairOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface RepairOrderMapper {
    // 根据orderId将订单支付状态修改为已支付
    int updateRepairOrderPaymentStatusById(long orderId);

    // 根据订单id更新订单的费用
    int updateRepairOrderCostById(@Param("order_id") long order_id, @Param("cost") double cost);

    // 插入新订单
    int insertRepairOrder(RepairOrder repairOrder);

    // 根据订单ID查询订单
    RepairOrder selectRepairOrderById(long order_id);

    // 查询用户所有订单
    List<RepairOrder> selectRepairOrdersByUserId(long user_id);

    List<RepairOrder> selectRepairOrderByVehicleId(long vehicle_id);

    List<RepairOrder> selectAllRepairOrders();
    //此处已经设置了数据库触发器，不需要再设置这个状态更新
    // 更新订单状态
    int updateRepairOrderStatus(RepairOrder repairOrder);

    int completeRepairOrder(long order_id);

    List<Map<String, Object>> getRepairCostStatisticsByPeriod(@Param("periodType") String periodType);

    // 删除订单（逻辑删除或物理删除）
    int deleteRepairOrder(long order_id);
}